(loaddefs-generate--compute-prefixes): Fix thinko in last change
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 6 Feb 2024 20:36:18 +0000 (15:36 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 6 Feb 2024 20:36:18 +0000 (15:36 -0500)
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--compute-prefixes):
 Fix thinko in last change.  Also,       reduce memory allocation.

lisp/emacs-lisp/loaddefs-gen.el

index 7cfb14ace5f6e2f1ea292105b46ce0cbad1f8db8..1e91e84157d406c577c4b26b23c768f06940b99a 100644 (file)
@@ -499,16 +499,17 @@ don't include."
 
 (defun loaddefs-generate--compute-prefixes (load-name)
   (goto-char (point-min))
-  (let ((prefs nil))
+  (let ((prefs nil)
+        (temp-obarray (obarray-make)))
     ;; Avoid (defvar <foo>) by requiring a trailing space.
     (while (re-search-forward
             "^(\\(def[^ \t\n]+\\)[ \t\n]+['(]*\\([^' ()\"\n]+\\)[\n \t]" nil t)
       (unless (member (match-string 1) autoload-ignored-definitions)
         (let* ((name (match-string-no-properties 2))
                ;; Consider `read-symbol-shorthands'.
-               (probe (let ((obarray (obarray-make)))
+               (probe (let ((obarray temp-obarray))
                         (car (read-from-string name)))))
-          (when (symbolp name)
+          (when (symbolp probe)
             (setq name (symbol-name probe))
             (when (save-excursion
                     (goto-char (match-beginning 0))